package com.deng.Service;

import com.deng.model.Paper;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @Author 邓小熙
 * @Date 2022/5/17 17:49
 * @Version 1.0
 */
public interface TagService {
    /**
     * 主页查看所有tag
     * @return
     */
    Set<String> findAllTagName();
    /**
     * 根据tagName查找文章 并进行分页
     * @param tagName
     * @param pageNum
     * @return
     */
    PageInfo<Paper> tagPage(String tagName, int pageNum);

    int findHasTagByPaperId(int id);
    /**
     * 删除文章的删除文章对应的tag
     * @param paper_id
     * @return
     */
    int delectTag(int paper_id);
    /**
     * 根据文章的id查询tag
     * @param id
     * @return
     */
    Map<String, Object> findTagNamesByPaperId(int id);

    /**
     * 新建标签
     * @param name
     * @param id
     * @return
     */
    int insertTagNameByPaperId(String name,int id);

    /**
     *  删除标签
     * @param id
     * @param name
     * @return
     */
    int delectTagByPaperIdAndTagName(int id,String name);


    /**
     * 修改
     * @param newName
     * @param id
     * @param name
     * @return
     */
    int updateTagNameByPaperIdAndTagName(String newName,int id,String name);



    /**
     * 查找对应用户的所有tag
     * @param name
     * @return
     */
    Set<String> findTagNameByUser(String name);

    /**
     * 为paper添加tag标签
     * @param tagName
     * @param paperId
     * @return
     */
    int insertTagByUserId(List<String> tagName,int paperId);
}

